Next:
kill & trap
, Previous:
sudo -S
, Up:
Index
Linux expect
expect:
Linux에서 커맨드를 자동화할 수 있도록 하는 모듈
#!/bin/bash
passwd=
"PASSWORD"
expect
-
c
"
set timeout 5
spawn env LANG=C /usr/bin/ssh csian@<IP>
expect
\"
password:
\"
send
\"
$
{
passwd
}
\n
\"
expect
\"
$
\"
exit 0
"
set timeout: 디폴트 타임 아웃 시간을 지정(지정하지 않을 경우 default 10sec)
expect: 머신으로부터 응답을 읽어 들여, 패턴 매치할 때 사용
switch, case 문과 동일하게 처리
spawn: expect 내에서 프로세스를 생성하는 커맨드
send: 머신에 문자열을 응답하는 커맨드
exit: expect 처리를 종료시킴(반환값으로 지정한 숫자를 사용)
ex) ssh
#!/usr/bin/expect
set
PW
"password"
set
timeout
5
spawn
env
LANG=
C
/
usr
/
bin
/
ssh
csian
@
<
IP
ADDR
>
expect
{
"(yes/no)?"
{
send
"yes\n"
exp_continue
}
"password:"
{
send
"
$
{
PW
}
\n"
}
}
expect
{
"
\\\$
"
{
exit
0
}
}